package ml.kupin.item.vo;

import ml.kupin.pojo.TbItem;

/**
 * 用于页面使用的商品类，增加getImages()方法
 * Created by 小柯(Allen Kerr) on 17.5.4 20:12.
 */
public class WebItem extends TbItem {

    public WebItem() {
    }

    public WebItem(TbItem tbItem) {
        this.setId(tbItem.getId());
        this.setTitle(tbItem.getTitle());
        this.setSellPoint(tbItem.getSellPoint());
        this.setPrice(tbItem.getPrice());
        this.setNum(tbItem.getNum());
        this.setBarcode(tbItem.getBarcode());
        this.setImage(tbItem.getImage());
        this.setCid(tbItem.getCid());
        this.setStatus(tbItem.getStatus());
        this.setCreated(tbItem.getCreated());
        this.setUpdated(tbItem.getUpdated());
    }

    /**
     * 关系型数据库的第一范式(1NF)
     * 1NF是指数据库中表的每一列都是不可分割的基本数据项，同一列的数据不能有多个值。
     * <p>
     * 商品信息表(tb_item)的图片（image）字段，就存储了多个图片链接！违反了1NF。
     * 这就带来一个问题：根据商品 id 查询商品信息表(tb_item)，得到的 TbItem 对象的 image 属性，
     * 还需要切分，才能得到每一个图片链接！
     * <p>
     * 所以这里需要重新创建一个 pojo，继承 TbItem类，并添加一个 getImages 方法，用于返回图片链接数组。
     */
    public String[] getImages() {
        String imageStr = this.getImage();
        if (imageStr != null && !"".equals(imageStr)) {
            String[] images = imageStr.split(",");
            return images;
        }
        return null;
    }
}
